最小二乘法大家都很熟悉了,今天以向量投影的角度重新认识它。
引入
回到解方程组Ax=b。
若Ax=b 有解,则b∈C(A)。
若Ax=b 有解,则b∉C(A),转化为问题求:x^使得||Ax^−b||最小,即minx∈Rn∣∣Ax^−b∣∣的最小值点。
由上一讲可知,最小值其实就是e=b−Ax^,即误差向量。在空间中表示为b 在C(A)上的投影。
因此,我们可以求得投影向量p=Ax^,然后根据e⊥C(A)得到法方程组:ATAx^=ATb。
法方程组有几个重要的性质:
法方程组总有解(无论A是否列满秩)。
ATAx^=ATb的解可能有无数多个,但p=Ax^唯一。
直线拟合
首先我们来看最常见的直线拟合。
我们想得到目标直线y^=a+bx,ei=yi−y^i。
给定数据{(x1,y1,...(xn,yn)}。寻找直线y=C+Dx,使得误差最小:
E(C,D)=[y1−(C+Dx1)]2+....+[yn−(C+Dn)]2
即向量⎝⎜⎜⎜⎜⎛y1−(C+Dx1)...yn−(C+Dxn)⎠⎟⎟⎟⎟⎞的长度最小。
令A=⎝⎜⎜⎜⎜⎛1... 1 x1...xn⎠⎟⎟⎟⎟⎞,b=⎣⎡y1...yn⎦⎤,x^=b=[C^D^]。即求解x^ 使得∣∣b−Ax^∣∣最小。
利用之前的结论,ATAx^=ATb,带入即可得:
C^=y−D^x, D^=i=1∑n(xi−x)i=1∑n(xi−x)(yi−y)
直线y=C^+D^x称为最小二成直线。
因此,我们只需要求法方程组,即可求得直线的所有参数。
微积分
曲线拟合与直线类似,只是多了几个参数而已,在此不做介绍。
我们现在可以说明法方程组也来自微积分。令:
f(x1,...,xn)=∣∣Ax=b∣∣2=(Ax−b)T(Ax−b)
则∂X∂f=⎝⎜⎜⎜⎜⎛∂x1∂f...∂xn∂f⎠⎟⎟⎟⎟⎞=2ATAX−2ATb。
若x^ 满足minx∈Rn∣∣Ax^−b∣∣,则∂X∂f一定是极值点。因此可得:ATAx^=ATb。